/**
 * 该文件作用：用来组件所有的component目录下的所有组件
 */

// 引入项目中全部的全局组件
import SvgIcon from '@/components/SvgIcon/index.vue';
import type {App, Component} from 'vue';

const components: { [name: string]: Component } = {SvgIcon: SvgIcon};
export default {
    /**
     * 当该文件被main.ts主文件引用并使用app.use()后，在export default中的install函数会被默认调用，且会注入app实例
     * @param app
     */
    install(app: App) {
        // 使用Object.keys获取components上所有属性，循环注册
        Object.keys(components).forEach((key: string) => {
            app.component(key, components[key]);
        })
    }
}